[INFO] cloning repository https://github.com/JulianKnodt/quick_maths
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JulianKnodt/quick_maths" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJulianKnodt%2Fquick_maths", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJulianKnodt%2Fquick_maths'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 18539a92d83bb2fe683e16e91d073abdc8f1b807
[INFO] checking JulianKnodt/quick_maths against master#cfbc6d4cf1acbac5c025acf8ed68929caa551df3 for pr-75494-beta
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJulianKnodt%2Fquick_maths" "/workspace/builds/worker-8/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/JulianKnodt/quick_maths on toolchain cfbc6d4cf1acbac5c025acf8ed68929caa551df3
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/JulianKnodt/quick_maths
[INFO] finished tweaking git repo https://github.com/JulianKnodt/quick_maths
[INFO] tweaked toml for git repo https://github.com/JulianKnodt/quick_maths written to /workspace/builds/worker-8/source/Cargo.toml
[INFO] crate git repo https://github.com/JulianKnodt/quick_maths already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde v1.0.113
[INFO] [stderr]   Downloaded syn v1.0.32
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5dfd0bde8deedf328bd22e8d0d44c2f95b2e1d25c841954f74035c7e9ea8122c
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5dfd0bde8deedf328bd22e8d0d44c2f95b2e1d25c841954f74035c7e9ea8122c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5dfd0bde8deedf328bd22e8d0d44c2f95b2e1d25c841954f74035c7e9ea8122c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5dfd0bde8deedf328bd22e8d0d44c2f95b2e1d25c841954f74035c7e9ea8122c", kill_on_drop: false }`
[INFO] [stdout] 5dfd0bde8deedf328bd22e8d0d44c2f95b2e1d25c841954f74035c7e9ea8122c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f0c9b8aee603172d489c54fc62176a014d0fa82fb5fd03a74eb0f0b0ca537b5c
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "f0c9b8aee603172d489c54fc62176a014d0fa82fb5fd03a74eb0f0b0ca537b5c", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling num-iter v0.1.40
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking quick_maths v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/mat.rs:13:51
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Matrix<const M: usize, const N: usize, T = DefaultFloat>(pub Vector<N, Vector<M, T>>);
[INFO] [stdout]    |                  ---------------------------------^---------------- help: reorder the parameters: lifetimes, then types, then consts: `<T, const M: usize, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/mat.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |          ^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::fmt::Debug, const M: usize, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/mat.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                 ^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::marker::Copy, const M: usize, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/mat.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                       ^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::clone::Clone, const M: usize, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/mat.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::cmp::PartialEq, const M: usize, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/mat.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                                         ^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::cmp::Eq, const M: usize, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/ray.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<const N: usize, T> Ray<T, N> {
[INFO] [stdout]    |     -----------------^- help: reorder the parameters: lifetimes, then types, then consts: `<T, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/ray.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl<const N: usize, T: Float> Ray<T, N> {
[INFO] [stdout]    |     -----------------^-------- help: reorder the parameters: lifetimes, then types, then consts: `<T: Float, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Vector<const N: usize, T = DefaultFloat>(pub [T; N]);
[INFO] [stdout]    |                  -----------------^---------------- help: reorder the parameters: lifetimes, then types, then consts: `<T, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |          ^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::marker::Copy, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                ^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::fmt::Debug, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                       ^^^^^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::cmp::PartialEq, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                                  ^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::cmp::Eq, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:14:38
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                                      ^^^^^^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::cmp::PartialOrd, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                                                  ^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::cmp::Ord, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]  --> src/dynamics/tensor.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct DynTensor<const D: usize, T = f32> {
[INFO] [stdout]   |                     -----------------^------- help: reorder the parameters: lifetimes, then types, then consts: `<T, const D: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]  --> src/dynamics/tensor.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Clone)]
[INFO] [stdout]   |          ^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::fmt::Debug, const D: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]  --> src/dynamics/tensor.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Clone)]
[INFO] [stdout]   |                 ^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::clone::Clone, const D: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/mat.rs:13:51
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Matrix<const M: usize, const N: usize, T = DefaultFloat>(pub Vector<N, Vector<M, T>>);
[INFO] [stdout]    |                  ---------------------------------^---------------- help: reorder the parameters: lifetimes, then types, then consts: `<T, const M: usize, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/mat.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |          ^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::fmt::Debug, const M: usize, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/mat.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                 ^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::marker::Copy, const M: usize, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/mat.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                       ^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::clone::Clone, const M: usize, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/mat.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::cmp::PartialEq, const M: usize, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/mat.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                                         ^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::cmp::Eq, const M: usize, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/ray.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<const N: usize, T> Ray<T, N> {
[INFO] [stdout]    |     -----------------^- help: reorder the parameters: lifetimes, then types, then consts: `<T, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/ray.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl<const N: usize, T: Float> Ray<T, N> {
[INFO] [stdout]    |     -----------------^-------- help: reorder the parameters: lifetimes, then types, then consts: `<T: Float, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Vector<const N: usize, T = DefaultFloat>(pub [T; N]);
[INFO] [stdout]    |                  -----------------^---------------- help: reorder the parameters: lifetimes, then types, then consts: `<T, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |          ^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::marker::Copy, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                ^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::fmt::Debug, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                       ^^^^^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::cmp::PartialEq, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                                  ^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::cmp::Eq, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:14:38
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                                      ^^^^^^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::cmp::PartialOrd, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]   --> src/vec.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                                                  ^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::cmp::Ord, const N: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]  --> src/dynamics/tensor.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct DynTensor<const D: usize, T = f32> {
[INFO] [stdout]   |                     -----------------^------- help: reorder the parameters: lifetimes, then types, then consts: `<T, const D: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]  --> src/dynamics/tensor.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Clone)]
[INFO] [stdout]   |          ^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::fmt::Debug, const D: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: type parameters must be declared prior to const parameters
[INFO] [stdout]  --> src/dynamics/tensor.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Clone)]
[INFO] [stdout]   |                 ^^^^^ help: reorder the parameters: lifetimes, then types, then consts: `<T: ::core::clone::Clone, const D: usize>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_generics, maybe_uninit_uninit_array, new_uninit, array_map)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_generics, maybe_uninit_uninit_array, new_uninit, array_map)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:190:64
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T: Float, const M: usize, const N: usize> Zero for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:322:47
[INFO] [stdout]     |
[INFO] [stdout] 322 | impl<T: Float, const M: usize> One for Matrix<M, M, T> {
[INFO] [stdout]     |                                               ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:465:65
[INFO] [stdout]     |
[INFO] [stdout] 465 | impl<T, const M: usize, const N: usize> Index<usize> for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:470:68
[INFO] [stdout]     |
[INFO] [stdout] 470 | impl<T, const M: usize, const N: usize> IndexMut<usize> for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                                         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:476:67
[INFO] [stdout]     |
[INFO] [stdout] 476 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T>
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 489 | def_op!(Add, add, +);
[INFO] [stdout]     | --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:476:67
[INFO] [stdout]     |
[INFO] [stdout] 476 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T>
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 490 | def_op!(Sub, sub, -);
[INFO] [stdout]     | --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:476:67
[INFO] [stdout]     |
[INFO] [stdout] 476 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T>
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 491 | def_op!(Mul, mul, *);
[INFO] [stdout]     | --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:476:67
[INFO] [stdout]     |
[INFO] [stdout] 476 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T>
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 492 | def_op!(Div, div, /);
[INFO] [stdout]     | --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:496:67
[INFO] [stdout]     |
[INFO] [stdout] 496 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 508 | def_scalar_op!(Add<T>, add, +);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:496:67
[INFO] [stdout]     |
[INFO] [stdout] 496 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 509 | def_scalar_op!(Sub<T>, sub, -);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:496:67
[INFO] [stdout]     |
[INFO] [stdout] 496 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 510 | def_scalar_op!(Mul<T>, mul, *);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:496:67
[INFO] [stdout]     |
[INFO] [stdout] 496 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 511 | def_scalar_op!(Div<T>, div, /);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl<const N: usize> From<f32> for Vector<N, f32> {
[INFO] [stdout]    |                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:29:43
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<const N: usize> From<f64> for Vector<N, f64> {
[INFO] [stdout]    |                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:314:47
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl<T, const N: usize> AsRef<[T]> for Vector<N, T> {
[INFO] [stdout]     |                                               ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:320:47
[INFO] [stdout]     |
[INFO] [stdout] 320 | impl<T: Float, const N: usize> One for Vector<N, T> {
[INFO] [stdout]     |                                               ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:327:54
[INFO] [stdout]     |
[INFO] [stdout] 327 | impl<T: Zero + Copy, const N: usize> Zero for Vector<N, T> {
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:335:65
[INFO] [stdout]     |
[INFO] [stdout] 335 | impl<R: SliceIndex<[T]>, T, const N: usize> Index<R> for Vector<N, T> {
[INFO] [stdout]     |                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:341:68
[INFO] [stdout]     |
[INFO] [stdout] 341 | impl<R: SliceIndex<[T]>, T, const N: usize> IndexMut<R> for Vector<N, T> {
[INFO] [stdout]     |                                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:346:64
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T: Neg<Output = T> + Copy, const N: usize> Neg for Vector<N, T> {
[INFO] [stdout]     |                                                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:352:64
[INFO] [stdout]     |
[INFO] [stdout] 352 | impl<T: Not<Output = T> + Copy, const N: usize> Not for Vector<N, T> {
[INFO] [stdout]     |                                                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:556:49
[INFO] [stdout]     |
[INFO] [stdout] 556 | impl<T: Clone, const N: usize> Clone for Vector<N, T> {
[INFO] [stdout]     |                                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:14:38
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:190:64
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<T: Float, const M: usize, const N: usize> Zero for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:322:47
[INFO] [stdout]     |
[INFO] [stdout] 322 | impl<T: Float, const M: usize> One for Matrix<M, M, T> {
[INFO] [stdout]     |                                               ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:465:65
[INFO] [stdout]     |
[INFO] [stdout] 465 | impl<T, const M: usize, const N: usize> Index<usize> for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:470:68
[INFO] [stdout]     |
[INFO] [stdout] 470 | impl<T, const M: usize, const N: usize> IndexMut<usize> for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                                         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:476:67
[INFO] [stdout]     |
[INFO] [stdout] 476 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T>
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 489 | def_op!(Add, add, +);
[INFO] [stdout]     | --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:476:67
[INFO] [stdout]     |
[INFO] [stdout] 476 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T>
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 490 | def_op!(Sub, sub, -);
[INFO] [stdout]     | --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:361:54
[INFO] [stdout]     |
[INFO] [stdout] 361 |       impl<T: $t + Copy, const N: usize> $t for Vector<N, T> {
[INFO] [stdout]     |                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 372 | / vec_op!(
[INFO] [stdout] 373 | |   Add, add, +;
[INFO] [stdout] 374 | |   Mul, mul, *;
[INFO] [stdout] 375 | |   Sub, sub, -;
[INFO] [stdout] ...   |
[INFO] [stdout] 382 | |   BitXor, bitxor, ^;
[INFO] [stdout] 383 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:388:57
[INFO] [stdout]     |
[INFO] [stdout] 388 |       impl<T: $t + Copy, const N: usize> $t<T> for Vector<N, T> {
[INFO] [stdout]     |                                                           ^
[INFO] [stdout] ...
[INFO] [stdout] 398 | / scalar_op!(
[INFO] [stdout] 399 | |   Add, add, +;
[INFO] [stdout] 400 | |   Mul, mul, *;
[INFO] [stdout] 401 | |   Sub, sub, -;
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |   BitXor, bitxor, ^;
[INFO] [stdout] 409 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:414:57
[INFO] [stdout]     |
[INFO] [stdout] 414 |       impl<T: $t + Copy, const N: usize> $t<T> for Vector<N, T> {
[INFO] [stdout]     |                                                           ^
[INFO] [stdout] ...
[INFO] [stdout] 434 | / assign_op!(
[INFO] [stdout] 435 | |   AddAssign, add_assign, +=;
[INFO] [stdout] 436 | |   SubAssign, sub_assign, -=;
[INFO] [stdout] 437 | |   MulAssign, mul_assign, *=;
[INFO] [stdout] ...   |
[INFO] [stdout] 444 | |   BitXorAssign, bitxor_assign, ^=;
[INFO] [stdout] 445 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:422:54
[INFO] [stdout]     |
[INFO] [stdout] 422 |       impl<T: $t + Copy, const N: usize> $t for Vector<N, T> {
[INFO] [stdout]     |                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 434 | / assign_op!(
[INFO] [stdout] 435 | |   AddAssign, add_assign, +=;
[INFO] [stdout] 436 | |   SubAssign, sub_assign, -=;
[INFO] [stdout] 437 | |   MulAssign, mul_assign, *=;
[INFO] [stdout] ...   |
[INFO] [stdout] 444 | |   BitXorAssign, bitxor_assign, ^=;
[INFO] [stdout] 445 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:476:67
[INFO] [stdout]     |
[INFO] [stdout] 476 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T>
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 491 | def_op!(Mul, mul, *);
[INFO] [stdout]     | --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:476:67
[INFO] [stdout]     |
[INFO] [stdout] 476 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T>
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 492 | def_op!(Div, div, /);
[INFO] [stdout]     | --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:496:67
[INFO] [stdout]     |
[INFO] [stdout] 496 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 508 | def_scalar_op!(Add<T>, add, +);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:496:67
[INFO] [stdout]     |
[INFO] [stdout] 496 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 509 | def_scalar_op!(Sub<T>, sub, -);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:496:67
[INFO] [stdout]     |
[INFO] [stdout] 496 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 510 | def_scalar_op!(Mul<T>, mul, *);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:496:67
[INFO] [stdout]     |
[INFO] [stdout] 496 |     impl<T: Float, const M: usize, const N: usize> $ty for Matrix<M, N, T> {
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 511 | def_scalar_op!(Div<T>, div, /);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:51:46
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl<T: Float> TensorMul<T, 1> for DynTensor<1, T> {
[INFO] [stdout]    |                                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl<const N: usize> From<f32> for Vector<N, f32> {
[INFO] [stdout]    |                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:67:46
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl<T: Float> TensorMul<T, 1> for DynTensor<2, T> {
[INFO] [stdout]    |                                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:29:43
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<const N: usize> From<f64> for Vector<N, f64> {
[INFO] [stdout]    |                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]  --> src/dynamics/tensor.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Clone)]
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: type arguments must be provided before constant arguments
[INFO] [stdout]   = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout]   = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:314:47
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl<T, const N: usize> AsRef<[T]> for Vector<N, T> {
[INFO] [stdout]     |                                               ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:320:47
[INFO] [stdout]     |
[INFO] [stdout] 320 | impl<T: Float, const N: usize> One for Vector<N, T> {
[INFO] [stdout]     |                                               ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]  --> src/dynamics/tensor.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: type arguments must be provided before constant arguments
[INFO] [stdout]   = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout]   = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:327:54
[INFO] [stdout]     |
[INFO] [stdout] 327 | impl<T: Zero + Copy, const N: usize> Zero for Vector<N, T> {
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:335:65
[INFO] [stdout]     |
[INFO] [stdout] 335 | impl<R: SliceIndex<[T]>, T, const N: usize> Index<R> for Vector<N, T> {
[INFO] [stdout]     |                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/dynamics/tensor.rs:108:63
[INFO] [stdout]     |
[INFO] [stdout] 108 |         impl<T: $typ + Copy, const D: usize> $typ for DynTensor<D, T> {
[INFO] [stdout]     |                                                                 ^
[INFO] [stdout] ...
[INFO] [stdout] 122 | / impl_bin_op!(
[INFO] [stdout] 123 | |   impl Mul, mul, *;
[INFO] [stdout] 124 | |   impl Add, add, +;
[INFO] [stdout] 125 | |   impl Sub, sub, -;
[INFO] [stdout] 126 | |   impl Div, div, /;
[INFO] [stdout] 127 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:16:42
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub type Mat4<T = DefaultFloat> = Matrix<4, 4, T>;
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type Mat3<T = DefaultFloat> = Matrix<3, 3, T>;
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:20:42
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Mat2<T = DefaultFloat> = Matrix<2, 2, T>;
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:22:48
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<T, const M: usize, const N: usize> Matrix<M, N, T> {
[INFO] [stdout]    |                                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:35:55
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<T: Float, const M: usize, const N: usize> Matrix<M, N, T> {
[INFO] [stdout]    |                                                       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:115:39
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl<T: Float, const M: usize> Matrix<M, M, T> {
[INFO] [stdout]     |                                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:458:32
[INFO] [stdout]     |
[INFO] [stdout] 458 | impl<T, const M: usize> Matrix<M, 1, T> {
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:561:55
[INFO] [stdout]     |
[INFO] [stdout] 561 | impl<T: Float, const M: usize, const N: usize> Matrix<M, N, T> {
[INFO] [stdout]     |                                                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:13:80
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Matrix<const M: usize, const N: usize, T = DefaultFloat>(pub Vector<N, Vector<M, T>>);
[INFO] [stdout]    |                                                                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:341:68
[INFO] [stdout]     |
[INFO] [stdout] 341 | impl<R: SliceIndex<[T]>, T, const N: usize> IndexMut<R> for Vector<N, T> {
[INFO] [stdout]     |                                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]  --> src/ray.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |   pub pos: Vector<N, T>,
[INFO] [stdout]   |                   ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: type arguments must be provided before constant arguments
[INFO] [stdout]   = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:346:64
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl<T: Neg<Output = T> + Copy, const N: usize> Neg for Vector<N, T> {
[INFO] [stdout]     |                                                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/ray.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 |   pub dir: Vector<N, T>,
[INFO] [stdout]    |                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/transform.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub fwd: Matrix<N, N, T>,
[INFO] [stdout]    |                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:352:64
[INFO] [stdout]     |
[INFO] [stdout] 352 | impl<T: Not<Output = T> + Copy, const N: usize> Not for Vector<N, T> {
[INFO] [stdout]     |                                                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/transform.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 |   pub bkwd: Matrix<N, N, T>,
[INFO] [stdout]    |                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]  --> src/dynamics/tensor.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |   shape: Vector<D, usize>,
[INFO] [stdout]   |                 ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: type arguments must be provided before constant arguments
[INFO] [stdout]   = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:556:49
[INFO] [stdout]     |
[INFO] [stdout] 556 | impl<T: Clone, const N: usize> Clone for Vector<N, T> {
[INFO] [stdout]     |                                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:14:38
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                                  ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |   pub fn dot(&self, vec: &Vector<N, T>) -> Vector<M, T> {
[INFO] [stdout]    |                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:36:34
[INFO] [stdout]    |
[INFO] [stdout] 36 |   pub fn dot(&self, vec: &Vector<N, T>) -> Vector<M, T> {
[INFO] [stdout]    |                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:43:75
[INFO] [stdout]    |
[INFO] [stdout] 43 |   pub(crate) fn qdot<const Q: usize>(&self, vec: &Vector<Q, T>) -> Vector<M, T> {
[INFO] [stdout]    |                                                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:361:54
[INFO] [stdout]     |
[INFO] [stdout] 361 |       impl<T: $t + Copy, const N: usize> $t for Vector<N, T> {
[INFO] [stdout]     |                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 372 | / vec_op!(
[INFO] [stdout] 373 | |   Add, add, +;
[INFO] [stdout] 374 | |   Mul, mul, *;
[INFO] [stdout] 375 | |   Sub, sub, -;
[INFO] [stdout] ...   |
[INFO] [stdout] 382 | |   BitXor, bitxor, ^;
[INFO] [stdout] 383 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:388:57
[INFO] [stdout]     |
[INFO] [stdout] 388 |       impl<T: $t + Copy, const N: usize> $t<T> for Vector<N, T> {
[INFO] [stdout]     |                                                           ^
[INFO] [stdout] ...
[INFO] [stdout] 398 | / scalar_op!(
[INFO] [stdout] 399 | |   Add, add, +;
[INFO] [stdout] 400 | |   Mul, mul, *;
[INFO] [stdout] 401 | |   Sub, sub, -;
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |   BitXor, bitxor, ^;
[INFO] [stdout] 409 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:43:58
[INFO] [stdout]    |
[INFO] [stdout] 43 |   pub(crate) fn qdot<const Q: usize>(&self, vec: &Vector<Q, T>) -> Vector<M, T> {
[INFO] [stdout]    |                                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:53:29
[INFO] [stdout]    |
[INFO] [stdout] 53 |   pub fn t(&self) -> Matrix<N, M, T> {
[INFO] [stdout]    |                             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:63:71
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub fn matmul<const P: usize>(&self, o: &Matrix<N, P, T>) -> Matrix<M, P, T> {
[INFO] [stdout]    |                                                                       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:63:51
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub fn matmul<const P: usize>(&self, o: &Matrix<N, P, T>) -> Matrix<M, P, T> {
[INFO] [stdout]    |                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:414:57
[INFO] [stdout]     |
[INFO] [stdout] 414 |       impl<T: $t + Copy, const N: usize> $t<T> for Vector<N, T> {
[INFO] [stdout]     |                                                           ^
[INFO] [stdout] ...
[INFO] [stdout] 434 | / assign_op!(
[INFO] [stdout] 435 | |   AddAssign, add_assign, +=;
[INFO] [stdout] 436 | |   SubAssign, sub_assign, -=;
[INFO] [stdout] 437 | |   MulAssign, mul_assign, *=;
[INFO] [stdout] ...   |
[INFO] [stdout] 444 | |   BitXorAssign, bitxor_assign, ^=;
[INFO] [stdout] 445 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:82:48
[INFO] [stdout]    |
[INFO] [stdout] 82 |   pub fn apply_fn<F, S>(&self, f: F) -> Matrix<M, N, S>
[INFO] [stdout]    |                                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:93:66
[INFO] [stdout]    |
[INFO] [stdout] 93 |   pub fn zxtend<const I: usize, const J: usize>(&self) -> Matrix<I, J, T> {
[INFO] [stdout]    |                                                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:422:54
[INFO] [stdout]     |
[INFO] [stdout] 422 |       impl<T: $t + Copy, const N: usize> $t for Vector<N, T> {
[INFO] [stdout]     |                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 434 | / assign_op!(
[INFO] [stdout] 435 | |   AddAssign, add_assign, +=;
[INFO] [stdout] 436 | |   SubAssign, sub_assign, -=;
[INFO] [stdout] 437 | |   MulAssign, mul_assign, *=;
[INFO] [stdout] ...   |
[INFO] [stdout] 444 | |   BitXorAssign, bitxor_assign, ^=;
[INFO] [stdout] 445 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:103:66
[INFO] [stdout]     |
[INFO] [stdout] 103 |   pub fn reduce<const I: usize, const J: usize>(&self) -> Matrix<I, J, T> {
[INFO] [stdout]     |                                                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:117:30
[INFO] [stdout]     |
[INFO] [stdout] 117 |   pub fn from_diag(v: Vector<M, T>) -> Self {
[INFO] [stdout]     |                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:131:50
[INFO] [stdout]     |
[INFO] [stdout] 131 |   pub fn ixtend<const I: usize>(&self) -> Matrix<I, I, T> {
[INFO] [stdout]     |                                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:160:52
[INFO] [stdout]     |
[INFO] [stdout] 160 |   pub fn usolve(&self, b: &Vector<M, T>) -> Vector<M, T> {
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 |   pub fn usolve(&self, b: &Vector<M, T>) -> Vector<M, T> {
[INFO] [stdout]     |                                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:173:52
[INFO] [stdout]     |
[INFO] [stdout] 173 |   pub fn lsolve(&self, b: &Vector<M, T>) -> Vector<M, T> {
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:173:35
[INFO] [stdout]     |
[INFO] [stdout] 173 |   pub fn lsolve(&self, b: &Vector<M, T>) -> Vector<M, T> {
[INFO] [stdout]     |                                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:185:76
[INFO] [stdout]     |
[INFO] [stdout] 185 |   pub fn solve((l, u, p): &(Self, Self, Self), b: &Vector<M, T>) -> Vector<M, T> {
[INFO] [stdout]     |                                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:185:59
[INFO] [stdout]     |
[INFO] [stdout] 185 |   pub fn solve((l, u, p): &(Self, Self, Self), b: &Vector<M, T>) -> Vector<M, T> {
[INFO] [stdout]     |                                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:20:42
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Vec3<T = DefaultFloat> = Vector<3, T>;
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type Vec2<T = DefaultFloat> = Vector<2, T>;
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:23:42
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub type Vec4<T = DefaultFloat> = Vector<4, T>;
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:459:34
[INFO] [stdout]     |
[INFO] [stdout] 459 |   pub fn squeeze(self) -> Vector<M, T> {
[INFO] [stdout]     |                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:466:24
[INFO] [stdout]     |
[INFO] [stdout] 466 |   type Output = Vector<M, T>;
[INFO] [stdout]     |                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/ray.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub fn new(pos: Vector<N, T>, dir: Vector<N, T>) -> Self { Ray { pos, dir } }
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/ray.rs:18:45
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub fn new(pos: Vector<N, T>, dir: Vector<N, T>) -> Self { Ray { pos, dir } }
[INFO] [stdout]    |                                             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/ray.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub fn at(&self, t: T) -> Vector<N, T> { self.pos + self.dir * t }
[INFO] [stdout]    |                                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:33:38
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: Copy, const N: usize> Vector<N, T> {
[INFO] [stdout]    |                                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl<T, const N: usize> Vector<N, T> {
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:51:46
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl<T: Float> TensorMul<T, 1> for DynTensor<1, T> {
[INFO] [stdout]    |                                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:67:46
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl<T: Float> TensorMul<T, 1> for DynTensor<2, T> {
[INFO] [stdout]    |                                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:80:38
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl<T: Copy, const N: usize> Vector<N, T> {
[INFO] [stdout]    |                                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]  --> src/dynamics/tensor.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Clone)]
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: type arguments must be provided before constant arguments
[INFO] [stdout]   = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout]   = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:93:39
[INFO] [stdout]    |
[INFO] [stdout] 93 | impl<T: Float, const N: usize> Vector<N, T> {
[INFO] [stdout]    |                                       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]  --> src/dynamics/tensor.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: type arguments must be provided before constant arguments
[INFO] [stdout]   = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout]   = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:236:29
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl<const N: usize> Vector<N, bool> {
[INFO] [stdout]     |                             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/dynamics/tensor.rs:108:63
[INFO] [stdout]     |
[INFO] [stdout] 108 |         impl<T: $typ + Copy, const D: usize> $typ for DynTensor<D, T> {
[INFO] [stdout]     |                                                                 ^
[INFO] [stdout] ...
[INFO] [stdout] 122 | / impl_bin_op!(
[INFO] [stdout] 123 | |   impl Mul, mul, *;
[INFO] [stdout] 124 | |   impl Add, add, +;
[INFO] [stdout] 125 | |   impl Sub, sub, -;
[INFO] [stdout] 126 | |   impl Div, div, /;
[INFO] [stdout] 127 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:472:39
[INFO] [stdout]     |
[INFO] [stdout] 472 | impl<T: Float, const N: usize> Vector<N, T> {
[INFO] [stdout]     |                                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:39:51
[INFO] [stdout]    |
[INFO] [stdout] 39 |   pub fn apply_fn<F, S>(self, mut f: F) -> Vector<N, S>
[INFO] [stdout]    |                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:16:42
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub type Mat4<T = DefaultFloat> = Matrix<4, 4, T>;
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:52:43
[INFO] [stdout]    |
[INFO] [stdout] 52 |   pub fn cast<S: From<T>>(self) -> Vector<N, S> { self.apply_fn(|v| v.into()) }
[INFO] [stdout]    |                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:83:56
[INFO] [stdout]    |
[INFO] [stdout] 83 |   pub fn extend<const M: usize>(&self, v: T) -> Vector<M, T> {
[INFO] [stdout]    |                                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type Mat3<T = DefaultFloat> = Matrix<3, 3, T>;
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:20:42
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Mat2<T = DefaultFloat> = Matrix<2, 2, T>;
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:160:50
[INFO] [stdout]     |
[INFO] [stdout] 160 |   pub fn reduce<const M: usize>(&self) -> Vector<M, T> {
[INFO] [stdout]     |                                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:22:48
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<T, const M: usize, const N: usize> Matrix<M, N, T> {
[INFO] [stdout]    |                                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:35:55
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<T: Float, const M: usize, const N: usize> Matrix<M, N, T> {
[INFO] [stdout]    |                                                       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:186:37
[INFO] [stdout]     |
[INFO] [stdout] 186 |   pub fn col_vector(self) -> Matrix<N, 1, T> { Matrix(Vector([self])) }
[INFO] [stdout]     |                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:115:39
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl<T: Float, const M: usize> Matrix<M, M, T> {
[INFO] [stdout]     |                                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:187:37
[INFO] [stdout]     |
[INFO] [stdout] 187 |   pub fn row_vector(self) -> Matrix<1, N, T> { self.col_vector().t() }
[INFO] [stdout]     |                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:192:53
[INFO] [stdout]     |
[INFO] [stdout] 192 |   pub fn convolve<const M: usize>(&self, o: &Vector<M, T>) -> Self {
[INFO] [stdout]     |                                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:205:27
[INFO] [stdout]     |
[INFO] [stdout] 205 |     out: impl Into<Vector<M, S>>,
[INFO] [stdout]     |                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:208:15
[INFO] [stdout]     |
[INFO] [stdout] 208 |   ) -> Vector<M, S> {
[INFO] [stdout]     |               ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:206:18
[INFO] [stdout]     |
[INFO] [stdout] 206 |     idx: &Vector<N, usize>,
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:458:32
[INFO] [stdout]     |
[INFO] [stdout] 458 | impl<T, const M: usize> Matrix<M, 1, T> {
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:561:55
[INFO] [stdout]     |
[INFO] [stdout] 561 | impl<T: Float, const M: usize, const N: usize> Matrix<M, N, T> {
[INFO] [stdout]     |                                                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:221:18
[INFO] [stdout]     |
[INFO] [stdout] 221 |     idx: &Vector<M, usize>,
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:222:19
[INFO] [stdout]     |
[INFO] [stdout] 222 |     from: &Vector<M, S>,
[INFO] [stdout]     |                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:13:80
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Matrix<const M: usize, const N: usize, T = DefaultFloat>(pub Vector<N, Vector<M, T>>);
[INFO] [stdout]    |                                                                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:518:44
[INFO] [stdout]     |
[INFO] [stdout] 518 |   pub fn is_sign_positive(&self) -> Vector<N, bool> { self.apply_fn(T::is_sign_positive) }
[INFO] [stdout]     |                                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]  --> src/ray.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |   pub pos: Vector<N, T>,
[INFO] [stdout]   |                   ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: type arguments must be provided before constant arguments
[INFO] [stdout]   = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:520:44
[INFO] [stdout]     |
[INFO] [stdout] 520 |   pub fn is_sign_negative(&self) -> Vector<N, bool> { self.apply_fn(T::is_sign_negative) }
[INFO] [stdout]     |                                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/ray.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 |   pub dir: Vector<N, T>,
[INFO] [stdout]    |                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/transform.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub fwd: Matrix<N, N, T>,
[INFO] [stdout]    |                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/transform.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 |   pub bkwd: Matrix<N, N, T>,
[INFO] [stdout]    |                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]  --> src/dynamics/tensor.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |   shape: Vector<D, usize>,
[INFO] [stdout]   |                 ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: type arguments must be provided before constant arguments
[INFO] [stdout]   = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:362:28
[INFO] [stdout]     |
[INFO] [stdout] 362 |         type Output = Vector<N, T::Output>;
[INFO] [stdout]     |                              ^
[INFO] [stdout] ...
[INFO] [stdout] 372 | / vec_op!(
[INFO] [stdout] 373 | |   Add, add, +;
[INFO] [stdout] 374 | |   Mul, mul, *;
[INFO] [stdout] 375 | |   Sub, sub, -;
[INFO] [stdout] ...   |
[INFO] [stdout] 382 | |   BitXor, bitxor, ^;
[INFO] [stdout] 383 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |   pub fn dot(&self, vec: &Vector<N, T>) -> Vector<M, T> {
[INFO] [stdout]    |                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:36:34
[INFO] [stdout]    |
[INFO] [stdout] 36 |   pub fn dot(&self, vec: &Vector<N, T>) -> Vector<M, T> {
[INFO] [stdout]    |                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:43:75
[INFO] [stdout]    |
[INFO] [stdout] 43 |   pub(crate) fn qdot<const Q: usize>(&self, vec: &Vector<Q, T>) -> Vector<M, T> {
[INFO] [stdout]    |                                                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |         type Output = Vector<N, T::Output>;
[INFO] [stdout]     |                              ^
[INFO] [stdout] ...
[INFO] [stdout] 398 | / scalar_op!(
[INFO] [stdout] 399 | |   Add, add, +;
[INFO] [stdout] 400 | |   Mul, mul, *;
[INFO] [stdout] 401 | |   Sub, sub, -;
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |   BitXor, bitxor, ^;
[INFO] [stdout] 409 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:43:58
[INFO] [stdout]    |
[INFO] [stdout] 43 |   pub(crate) fn qdot<const Q: usize>(&self, vec: &Vector<Q, T>) -> Vector<M, T> {
[INFO] [stdout]    |                                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:53:29
[INFO] [stdout]    |
[INFO] [stdout] 53 |   pub fn t(&self) -> Matrix<N, M, T> {
[INFO] [stdout]    |                             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:63:71
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub fn matmul<const P: usize>(&self, o: &Matrix<N, P, T>) -> Matrix<M, P, T> {
[INFO] [stdout]    |                                                                       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:63:51
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub fn matmul<const P: usize>(&self, o: &Matrix<N, P, T>) -> Matrix<M, P, T> {
[INFO] [stdout]    |                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:82:48
[INFO] [stdout]    |
[INFO] [stdout] 82 |   pub fn apply_fn<F, S>(&self, f: F) -> Matrix<M, N, S>
[INFO] [stdout]    |                                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<T, const D: usize> DynTensor<D, T> {
[INFO] [stdout]    |                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:79:32
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl<T, const N: usize> Vector<N, T> {
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:87:54
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl<T: Copy, const N: usize, const M: usize> Matrix<M, N, T> {
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |   fn dot(&self, rh: DynTensor<I, T>) -> Self::Output;
[INFO] [stdout]    |                               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:18:84
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub fn reshape<const D2: usize>(self, new_shape: Vector<D2, usize>) -> DynTensor<D2, T> {
[INFO] [stdout]    |                                                                                    ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:18:59
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub fn reshape<const D2: usize>(self, new_shape: Vector<D2, usize>) -> DynTensor<D2, T> {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:53:32
[INFO] [stdout]    |
[INFO] [stdout] 53 |   fn dot(&self, rhs: DynTensor<1, T>) -> Self::Output {
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/mat.rs:93:66
[INFO] [stdout]    |
[INFO] [stdout] 93 |   pub fn zxtend<const I: usize, const J: usize>(&self) -> Matrix<I, J, T> {
[INFO] [stdout]    |                                                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:69:32
[INFO] [stdout]    |
[INFO] [stdout] 69 |   fn dot(&self, rhs: DynTensor<1, T>) -> Self::Output {
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:103:66
[INFO] [stdout]     |
[INFO] [stdout] 103 |   pub fn reduce<const I: usize, const J: usize>(&self) -> Matrix<I, J, T> {
[INFO] [stdout]     |                                                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:80:40
[INFO] [stdout]    |
[INFO] [stdout] 80 |   pub fn dyn_tensor(self) -> DynTensor<1, T> {
[INFO] [stdout]    |                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:117:30
[INFO] [stdout]     |
[INFO] [stdout] 117 |   pub fn from_diag(v: Vector<M, T>) -> Self {
[INFO] [stdout]     |                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:90:40
[INFO] [stdout]    |
[INFO] [stdout] 90 |   pub fn dyn_tensor(self) -> DynTensor<2, T> {
[INFO] [stdout]    |                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:131:50
[INFO] [stdout]     |
[INFO] [stdout] 131 |   pub fn ixtend<const I: usize>(&self) -> Matrix<I, I, T> {
[INFO] [stdout]     |                                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/dynamics/tensor.rs:109:33
[INFO] [stdout]     |
[INFO] [stdout] 109 |           type Output = DynTensor<D, T::Output>;
[INFO] [stdout]     |                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 122 | / impl_bin_op!(
[INFO] [stdout] 123 | |   impl Mul, mul, *;
[INFO] [stdout] 124 | |   impl Add, add, +;
[INFO] [stdout] 125 | |   impl Sub, sub, -;
[INFO] [stdout] 126 | |   impl Div, div, /;
[INFO] [stdout] 127 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:160:52
[INFO] [stdout]     |
[INFO] [stdout] 160 |   pub fn usolve(&self, b: &Vector<M, T>) -> Vector<M, T> {
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 |   pub fn usolve(&self, b: &Vector<M, T>) -> Vector<M, T> {
[INFO] [stdout]     |                                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:173:52
[INFO] [stdout]     |
[INFO] [stdout] 173 |   pub fn lsolve(&self, b: &Vector<M, T>) -> Vector<M, T> {
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:173:35
[INFO] [stdout]     |
[INFO] [stdout] 173 |   pub fn lsolve(&self, b: &Vector<M, T>) -> Vector<M, T> {
[INFO] [stdout]     |                                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:185:76
[INFO] [stdout]     |
[INFO] [stdout] 185 |   pub fn solve((l, u, p): &(Self, Self, Self), b: &Vector<M, T>) -> Vector<M, T> {
[INFO] [stdout]     |                                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:185:59
[INFO] [stdout]     |
[INFO] [stdout] 185 |   pub fn solve((l, u, p): &(Self, Self, Self), b: &Vector<M, T>) -> Vector<M, T> {
[INFO] [stdout]     |                                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:20:42
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Vec3<T = DefaultFloat> = Vector<3, T>;
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type Vec2<T = DefaultFloat> = Vector<2, T>;
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:23:42
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub type Vec4<T = DefaultFloat> = Vector<4, T>;
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 134 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0747.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:459:34
[INFO] [stdout]     |
[INFO] [stdout] 459 |   pub fn squeeze(self) -> Vector<M, T> {
[INFO] [stdout]     |                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/mat.rs:466:24
[INFO] [stdout]     |
[INFO] [stdout] 466 |   type Output = Vector<M, T>;
[INFO] [stdout]     |                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/ray.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub fn new(pos: Vector<N, T>, dir: Vector<N, T>) -> Self { Ray { pos, dir } }
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/ray.rs:18:45
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub fn new(pos: Vector<N, T>, dir: Vector<N, T>) -> Self { Ray { pos, dir } }
[INFO] [stdout]    |                                             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/ray.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub fn at(&self, t: T) -> Vector<N, T> { self.pos + self.dir * t }
[INFO] [stdout]    |                                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:33:38
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: Copy, const N: usize> Vector<N, T> {
[INFO] [stdout]    |                                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl<T, const N: usize> Vector<N, T> {
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:80:38
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl<T: Copy, const N: usize> Vector<N, T> {
[INFO] [stdout]    |                                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:93:39
[INFO] [stdout]    |
[INFO] [stdout] 93 | impl<T: Float, const N: usize> Vector<N, T> {
[INFO] [stdout]    |                                       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:236:29
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl<const N: usize> Vector<N, bool> {
[INFO] [stdout]     |                             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:472:39
[INFO] [stdout]     |
[INFO] [stdout] 472 | impl<T: Float, const N: usize> Vector<N, T> {
[INFO] [stdout]     |                                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:39:51
[INFO] [stdout]    |
[INFO] [stdout] 39 |   pub fn apply_fn<F, S>(self, mut f: F) -> Vector<N, S>
[INFO] [stdout]    |                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:52:43
[INFO] [stdout]    |
[INFO] [stdout] 52 |   pub fn cast<S: From<T>>(self) -> Vector<N, S> { self.apply_fn(|v| v.into()) }
[INFO] [stdout]    |                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/vec.rs:83:56
[INFO] [stdout]    |
[INFO] [stdout] 83 |   pub fn extend<const M: usize>(&self, v: T) -> Vector<M, T> {
[INFO] [stdout]    |                                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `quick_maths`.
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:160:50
[INFO] [stdout]     |
[INFO] [stdout] 160 |   pub fn reduce<const M: usize>(&self) -> Vector<M, T> {
[INFO] [stdout]     |                                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:186:37
[INFO] [stdout]     |
[INFO] [stdout] 186 |   pub fn col_vector(self) -> Matrix<N, 1, T> { Matrix(Vector([self])) }
[INFO] [stdout]     |                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:187:37
[INFO] [stdout]     |
[INFO] [stdout] 187 |   pub fn row_vector(self) -> Matrix<1, N, T> { self.col_vector().t() }
[INFO] [stdout]     |                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:192:53
[INFO] [stdout]     |
[INFO] [stdout] 192 |   pub fn convolve<const M: usize>(&self, o: &Vector<M, T>) -> Self {
[INFO] [stdout]     |                                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:205:27
[INFO] [stdout]     |
[INFO] [stdout] 205 |     out: impl Into<Vector<M, S>>,
[INFO] [stdout]     |                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:208:15
[INFO] [stdout]     |
[INFO] [stdout] 208 |   ) -> Vector<M, S> {
[INFO] [stdout]     |               ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:206:18
[INFO] [stdout]     |
[INFO] [stdout] 206 |     idx: &Vector<N, usize>,
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:221:18
[INFO] [stdout]     |
[INFO] [stdout] 221 |     idx: &Vector<M, usize>,
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:222:19
[INFO] [stdout]     |
[INFO] [stdout] 222 |     from: &Vector<M, S>,
[INFO] [stdout]     |                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:518:44
[INFO] [stdout]     |
[INFO] [stdout] 518 |   pub fn is_sign_positive(&self) -> Vector<N, bool> { self.apply_fn(T::is_sign_positive) }
[INFO] [stdout]     |                                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:520:44
[INFO] [stdout]     |
[INFO] [stdout] 520 |   pub fn is_sign_negative(&self) -> Vector<N, bool> { self.apply_fn(T::is_sign_negative) }
[INFO] [stdout]     |                                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:362:28
[INFO] [stdout]     |
[INFO] [stdout] 362 |         type Output = Vector<N, T::Output>;
[INFO] [stdout]     |                              ^
[INFO] [stdout] ...
[INFO] [stdout] 372 | / vec_op!(
[INFO] [stdout] 373 | |   Add, add, +;
[INFO] [stdout] 374 | |   Mul, mul, *;
[INFO] [stdout] 375 | |   Sub, sub, -;
[INFO] [stdout] ...   |
[INFO] [stdout] 382 | |   BitXor, bitxor, ^;
[INFO] [stdout] 383 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/vec.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |         type Output = Vector<N, T::Output>;
[INFO] [stdout]     |                              ^
[INFO] [stdout] ...
[INFO] [stdout] 398 | / scalar_op!(
[INFO] [stdout] 399 | |   Add, add, +;
[INFO] [stdout] 400 | |   Mul, mul, *;
[INFO] [stdout] 401 | |   Sub, sub, -;
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |   BitXor, bitxor, ^;
[INFO] [stdout] 409 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<T, const D: usize> DynTensor<D, T> {
[INFO] [stdout]    |                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:79:32
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl<T, const N: usize> Vector<N, T> {
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:87:54
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl<T: Copy, const N: usize, const M: usize> Matrix<M, N, T> {
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, M, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |   fn dot(&self, rh: DynTensor<I, T>) -> Self::Output;
[INFO] [stdout]    |                               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:18:84
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub fn reshape<const D2: usize>(self, new_shape: Vector<D2, usize>) -> DynTensor<D2, T> {
[INFO] [stdout]    |                                                                                    ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:18:59
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub fn reshape<const D2: usize>(self, new_shape: Vector<D2, usize>) -> DynTensor<D2, T> {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, N>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:53:32
[INFO] [stdout]    |
[INFO] [stdout] 53 |   fn dot(&self, rhs: DynTensor<1, T>) -> Self::Output {
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:69:32
[INFO] [stdout]    |
[INFO] [stdout] 69 |   fn dot(&self, rhs: DynTensor<1, T>) -> Self::Output {
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:80:40
[INFO] [stdout]    |
[INFO] [stdout] 80 |   pub fn dyn_tensor(self) -> DynTensor<1, T> {
[INFO] [stdout]    |                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]   --> src/dynamics/tensor.rs:90:40
[INFO] [stdout]    |
[INFO] [stdout] 90 |   pub fn dyn_tensor(self) -> DynTensor<2, T> {
[INFO] [stdout]    |                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: type arguments must be provided before constant arguments
[INFO] [stdout]    = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0747]: constant provided when a type was expected
[INFO] [stdout]    --> src/dynamics/tensor.rs:109:33
[INFO] [stdout]     |
[INFO] [stdout] 109 |           type Output = DynTensor<D, T::Output>;
[INFO] [stdout]     |                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 122 | / impl_bin_op!(
[INFO] [stdout] 123 | |   impl Mul, mul, *;
[INFO] [stdout] 124 | |   impl Add, add, +;
[INFO] [stdout] 125 | |   impl Sub, sub, -;
[INFO] [stdout] 126 | |   impl Div, div, /;
[INFO] [stdout] 127 | | );
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: type arguments must be provided before constant arguments
[INFO] [stdout]     = help: reorder the arguments: types, then consts: `<T, D>`
[INFO] [stdout]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 134 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0747.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "f0c9b8aee603172d489c54fc62176a014d0fa82fb5fd03a74eb0f0b0ca537b5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f0c9b8aee603172d489c54fc62176a014d0fa82fb5fd03a74eb0f0b0ca537b5c", kill_on_drop: false }`
[INFO] [stdout] f0c9b8aee603172d489c54fc62176a014d0fa82fb5fd03a74eb0f0b0ca537b5c
